package net.tngou.iask.util;
//package com.zhinanche.util;
//
//import java.io.BufferedReader;
//import java.io.BufferedWriter;
//import java.io.ByteArrayInputStream;
//import java.io.ByteArrayOutputStream;
//import java.io.File;
//import java.io.FileInputStream;
//import java.io.FileNotFoundException;
//import java.io.FileReader;
//import java.io.FileWriter;
//import java.io.IOException;
//import java.io.InputStream;
//import java.io.InputStreamReader;
//import java.io.OutputStream;
//import java.io.Reader;
//import java.util.ArrayList;
//import java.util.List;
//
//import org.apache.commons.codec.Charsets;
//import org.apache.commons.csv.CSVFormat;
//import org.apache.commons.csv.CSVParser;
//import org.apache.commons.csv.CSVPrinter;
//import org.apache.commons.csv.CSVRecord;
//import org.apache.commons.lang.StringUtils;
//
//import com.zhinanche.pojo.Question;
//
//public class CSVUtil {
//
//	  private static final String [] FILE_HEADER = {"题型","试题","答案","考点","难度"};
//	  	//CSV文件分隔符
//	    private static final String NEW_LINE_SEPARATOR = "\n";
//	
//	  
//	  
//	  public static List<Question> readFile(InputStream file) {
//		  List<Question> list = new ArrayList<Question>();
//		  
//	        
//		  try {
//			
//			  ByteArrayOutputStream   baos   =   new   ByteArrayOutputStream();
//		        int   j=-1;
//		        while((j=file.read())!=-1){ baos.write(j); }
//		        InputStream   in_nocode   =   new   ByteArrayInputStream(baos.toByteArray());        
//			  BufferedReader bufferdReader=new BufferedReader(new InputStreamReader(in_nocode,CharsetDetector.GuessEncoding(baos.toByteArray())));				
//				@SuppressWarnings("resource")
//				CSVParser csvFileParser = new CSVParser(bufferdReader,
//				         CSVFormat.DEFAULT.withHeader(FILE_HEADER));
//				 List<CSVRecord> csvRecords = csvFileParser.getRecords(); 
//				 for (int i = 1; i < csvRecords.size(); i++) {
//					 Question question = new Question();
//		             CSVRecord record = csvRecords.get(i);
//		            String itemType=record.get("题型");
//		            switch (itemType) {
//					case "单选":
//						question.setItemtype(1);
//						break;
//					case "多选":
//						question.setItemtype(2);
//						break;
//					case "判断":
//						question.setItemtype(3);
//						break;
//					default:
//						break;
//					}
//		            String msg=record.get("试题");
//		            msg=StringUtils.replace(msg, "\n", "<br>");
//		            question.setMessage(msg);
//		            String ask=record.get("答案");
//		            question.setAsk(ask);
//		            String level=record.get("难度");
//		            switch (level) {
//					case "易":
//						question.setLevel(0);
//						break;
//					case "中":
//						question.setLevel(1);
//						break;
//					case "难":
//						question.setLevel(2);
//						break;
//					default:
//						break;
//					}
//		            String chapter=record.get("考点");
//		            question.setChapter(chapter);
//		            list.add(question);
//				 }
//			} catch (IOException e) {
//				e.printStackTrace();
//			} 
//			
//			return list;
//	}
//	  
//	 public static StringBuilder save(List<Question> list) {
//		 StringBuilder stringBuilder = new StringBuilder();
//	        CSVPrinter csvFilePrinter = null;
//	        //创建 CSVFormat
//	        CSVFormat csvFileFormat = CSVFormat.DEFAULT.withRecordSeparator(NEW_LINE_SEPARATOR);
//	        try {
//	            //初始化FileWriter
//	           
//	            //初始化 CSVPrinter
//	            csvFilePrinter = new CSVPrinter(stringBuilder, csvFileFormat);
//	            //创建CSV文件头
//	            csvFilePrinter.printRecord(FILE_HEADER);
//	 
//	          
//	            // 遍历List写入CSV
//	            for (Question question : list) {
//	                List<String> dataRecord = new ArrayList<String>();
//	                switch (String.valueOf(question.getItemtype())) {
//					case "1":
//						dataRecord.add("单选");
//						break;
//					case "2":
//						dataRecord.add("多选");
//						break;
//					case "3":
//						dataRecord.add("判断");
//						break;
//					default:
//						break;
//					}
//	                String message= question.getMessage();
//	                message=StringUtils.replace(message, "<p>", "");
//	                message=StringUtils.replace(message, "</p>", "<br>");
//	                message=StringUtils.replace(message, "<br>", "{tngou}");
//	                message = JsoupUtil.Text(message);
//	                message=StringUtils.replace(message, "{tngou}", "\n");
//	                dataRecord.add(message);
//	                dataRecord.add(question.getAsk());
//	                dataRecord.add(question.getChapter());
//	                switch (String.valueOf(question.getLevel())) {
//					case "0":
//						dataRecord.add("易");
//						break;
//					case "1":
//						dataRecord.add("中");
//						break;
//					case "2":
//						dataRecord.add("难");
//						break;
//					default:
//						break;
//					}
//	                csvFilePrinter.printRecord(dataRecord);
//	            }
//	           
//	             
//	        } catch (Exception e) {
//	            e.printStackTrace();
//	        } finally {
//	            try {	          
//	                csvFilePrinter.close();
//	            } catch (IOException e) {
//	                e.printStackTrace();
//	            }
//	        }
//			return stringBuilder;
//	} 
//	 
//	 
//	  public static void main(String[] args) throws IOException {
//		  
//		  List<Question> list=(List<Question>) new Question().list();
//		 // save(list, "C:\\Users\\Administrator\\Desktop\\123.csv");
//			File file = new File("C:\\Users\\Administrator\\Desktop\\语文.csv");
//			list=readFile(new FileInputStream(file));
//			list.forEach(e->{System.err.println(e);});
//			
//			
//			
//		}
//}
